package cn.flying.cloud.base.common.vo.layui;

import java.util.List;
import java.util.stream.Collectors;

/**
 * xm-select 转换树形
 *
 * @author: admin
 * @date: 2024年07月09日 16:58
 * @version: 1.0
 */
public class XmSelectHelper {

    /**
     * 迭代赋值child属性
     *
     * @param list
     * @param parentId
     * @return
     */
    public static List<XmSelect> setChild(List<XmSelect> list, String parentId) {
        return list.stream()
                // 过滤父节点
                .filter(parent -> parent.getPid().equals(parentId))
                // 把父节点children递归赋值成为子节点
                .map(child -> {
                    List<XmSelect> temp = setChild(list, child.getValue());
                    child.setChildren(temp);
                    return child;
                }).collect(Collectors.toList());
    }
}
